home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / EDUCLING / SPELLBEE.LZH / CLASROLL.BAS < prev    next >
BASIC Source File  |  1983-03-15  |  10KB  |  287 lines

  1. 10 KEY OFF:CLS
  2. 20 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  3. 30 PRINT"░┌───────────────────────────────────┐░"
  4. 40 PRINT"░│                                   │░"
  5. 50 PRINT"░│            7027-A.BAS             │░"
  6. 60 PRINT"░│            CLASS ROLL             │░"
  7. 70 PRINT"░│                                   │░"
  8. 80 PRINT"░│                                   │░"
  9. 90 PRINT"░│ BROUGHT TO YOU BY THE MEMBERS OF  │░"
  10. 100 PRINT"░│      ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄      │░"
  11. 110 PRINT"░│        █   █   █ █     █   █      │░"
  12. 120 PRINT"░│        █   █▄▄▄█ █     █   █      │░"
  13. 130 PRINT"░│        █   █     █     █   █      │░"
  14. 140 PRINT"░│      ▄▄█▄▄ █     █▄▄▄▄ █▄▄▄█      │░"
  15. 150 PRINT"░│                                   │░"
  16. 160 PRINT"░│      International PC Owners      │░"
  17. 170 PRINT"░│                                   │░"
  18. 180 PRINT"░│P.O. Box 10426, Pittsburgh PA 15234│░"
  19. 190 PRINT"░│                                   │░"
  20. 200 PRINT"░└───────────────────────────────────┘░"
  21. 210 PRINT"░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  22. 220 PRINT
  23. 230 PRINT "       PRESS ANY KEY TO CONTINUE
  24. 240 A$=INKEY$: IF A$="" THEN 240
  25. 250 CLS
  26. 1000 WIDTH 40
  27. 1010 OPEN "r",1,"class.rol",128
  28. 1020 FIELD 1,128 AS B$
  29. 1030 FIELD 1,24 AS CHILD$, 27 AS ADDRESS$, 13 AS CITY$, 2 AS ZIP$, 6 AS BIRTHDAY$, 8 AS PHONE$, 24 AS PARENT$, 23 AS TEXT$, 1 AS DEL$
  30. 1040 CLS
  31. 1050 PRINT "         *** Sunday School ***"
  32. 1060 PRINT
  33. 1070 PRINT "            ** Class Roll **"
  34. 1080 PRINT
  35. 1090 PRINT
  36. 1100 PRINT "1. Add a student"
  37. 1110 PRINT "2. Locate a student's record"
  38. 1120 PRINT "3. Print class roll"
  39. 1130 PRINT "4. Print address labels"
  40. 1140 PRINT "5. Stop run"
  41. 1150 PRINT
  42. 1160 PRINT " Enter your selection:"
  43. 1170 NP$= INKEY$: IF NP$="" GOTO 1170
  44. 1180 NP = VAL(NP$)
  45. 1190 ON NP GOTO 1220,1780,3010,2690,3560
  46. 1200 PRINT: PRINT "Did we make a mistake? Let's try again."
  47. 1210 GOTO 1170
  48. 1220 CLS
  49. 1230 PRINT "           **Add a Student**"
  50. 1240 PRINT
  51. 1250 PRINT "Enter `quit' if you wish"
  52. 1260 INPUT "Child's name  ";INCHILD$
  53. 1270 IF INCHILD$ = "quit" THEN GOTO 1040
  54. 1280 CLS
  55. 1290 PRINT INCHILD$
  56. 1300 PRINT
  57. 1310 INPUT "Address   ";INADDR$
  58. 1320 INPUT "City          ";INCITY$
  59. 1330 INPUT "Zip   (Enter 3 digit value)     ";INZIP
  60. 1340 INPUT "Birthday  (Enter date MMDDYY)   ";INBIRTHDAY$
  61. 1350 INPUT "Phone number (Enter xxx-xxxx) ";INPHONE$
  62. 1360 INPUT "Parents' name ";INPARENT$
  63. 1370 INPUT"Text          ";INTEXT$
  64. 1380 PRINT
  65. 1390 PRINT
  66. 1400 PRINT "1. Save this record"
  67. 1410 PRINT "2. Enter data again"
  68. 1420 PRINT "3. Return to inventory menu"
  69. 1430 PRINT
  70. 1440 PRINT " Enter your selection:"
  71. 1450 Q$ = INKEY$: IF Q$="" GOTO 1450
  72. 1460 Q = VAL(Q$)
  73. 1470 ON Q GOTO 1490,1280,1040
  74. 1480 PRINT: PRINT "Did we make a mistake? Let's try again.":GOTO 1450
  75. 1490 SS=1
  76. 1500 FOR V=1 TO 24
  77. 1510 IF MID$(INCHILD$,V,2)="" GOTO 1530
  78. 1520 NEXT V
  79. 1530 V=V-1
  80. 1540 GET 1,SS
  81. 1550 IF CHILD$="~~~~~~~~~~~~~~~~~~~~~~~~" THEN TT=SS+1:PUT 1,TT:GOTO 1680
  82. 1560 IF LEFT$(CHILD$,V) < LEFT$(INCHILD$,V) THEN SS=SS+1: GOTO 1540
  83. 1570 FIRST$ = B$
  84. 1580 TT=SS+1
  85. 1590 GET 1,TT
  86. 1600 SECOND$=B$
  87. 1610 LSET TEXT$=INTEXT$
  88. 1620 LSET B$ = FIRST$
  89. 1630 PUT 1,TT
  90. 1640 IF CHILD$="~~~~~~~~~~~~~~~~~~~~~~~~" THEN GOTO 1680
  91. 1650 FIRST$=SECOND$
  92. 1660 TT=TT+1
  93. 1670 GOTO 1590
  94. 1680 LSET CHILD$=INCHILD$
  95. 1690 LSET ADDRESS$=INADDR$
  96. 1700 IF INCITY$="" THEN LSET CITY$ = "Wichita" ELSE LSET CITY$=INCITY$
  97. 1710 LSET ZIP$=MKI$(INZIP)
  98. 1720 LSET BIRTHDAY$=INBIRTHDAY$
  99. 1730 LSET PHONE$=INPHONE$
  100. 1740 LSET PARENT$=INPARENT$
  101. 1750 LSET TEXT$=INTEXT$
  102. 1760 PUT 1,SS
  103. 1770 GOTO 1220
  104. 1780 SS=1
  105. 1790 CLS: INPUT "What is child's name";INCHILD$
  106. 1800 FOR V=1 TO 24
  107. 1810 IF MID$(INCHILD$,V,2)="" GOTO 1830
  108. 1820 NEXT V
  109. 1830 V=V-1
  110. 1840 GET 1,SS
  111. 1850 IF LEFT$(CHILD$,V) < LEFT$(INCHILD$,V) THEN SS=SS+1: GOTO 1840
  112. 1860 IF LEFT$(CHILD$,V) > LEFT$(INCHILD$,V) THEN CLS:PRINT: PRINT "Student not found": PRINT: PRINT: GOTO 1050
  113. 1870 CLS
  114. 1880 PRINT "     ** Record #";SS;"on file **
  115. 1890 IF DEL$="x" THEN PRINT: PRINT "This child is inactive."
  116. 1900 PRINT
  117. 1910 PRINT CHILD$
  118. 1920 PRINT ADDRESS$
  119. 1930 PRINT CITY$
  120. 1940 ZIP=CVI(ZIP$)
  121. 1950 ZIPPY$=STR$(ZIP)
  122. 1960 IF ZIP<10 THEN ZIPI$="6700" +MID$(ZIPPY$,2,3): GOTO 1990
  123. 1970 IF ZIP<100 THEN ZIPI$="670" +MID$(ZIPPY$,2,3): GOTO 1990
  124. 1980 ZIPI$="67"+MID$(ZIPPY$,2,3)
  125. 1990 PRINT ZIPI$
  126. 2000 PRINT
  127. 2010 PRINT "Birthday:        ";BIRTHDAY$
  128. 2020 PRINT "Phone number:    ";PHONE$
  129. 2030 PRINT "Parents:  ";PARENT$
  130. 2040 PRINT
  131. 2050 PRINT TEXT$
  132. 2060 PRINT
  133. 2070 PRINT "1. Change student record"
  134. 2080 PRINT "2. Erase student record"
  135. 2090 PRINT "3. Activate / Deactivate student"
  136. 2100 PRINT "4. Return to first menu"
  137. 2110 PRINT
  138. 2120 PRINT " Enter your selection:"
  139. 2130 N$= INKEY$: IF N$="" GOTO 2130
  140. 2140 N = VAL(N$)
  141. 2150 ON N GOTO 2190,2590,3530,1040
  142. 2160 PRINT: PRINT "Did we make a mistake? Let's try again."
  143. 2170 GOTO 2130
  144. 2180 RETURN
  145. 2190 CLS
  146. 2200 PRINT "Which field do you wish to change?"
  147. 2210 PRINT
  148. 2220 PRINT"  1. Address"
  149. 2230 PRINT"  2. City"
  150. 2240 PRINT"  3. Zip"
  151. 2250 PRINT"  4. Birthday"
  152. 2260 PRINT"  5. Phone number"
  153. 2270 PRINT"  6. Parents name"
  154. 2280 PRINT"  7. Text"
  155. 2290 NQ$ = INKEY$: IF NQ$="" GOTO 2290
  156. 2300 CLS
  157. 2310 PRINT "         **Change a Record**""
  158. 2320 PRINT
  159. 2330 NQ=VAL(NQ$)
  160. 2340 ON NQ GOTO 2370,2390,2410,2430,2440,2460,2480
  161. 2350 PRINT: PRINT "Did we make a mistake? Let's try again."
  162. 2360 GOTO 2200
  163. 2370 INPUT "Address   ";INADDR$
  164. 2380 LSET ADDRESS$=INADDR$: GOTO 2500
  165. 2390 INPUT "City             ";INCITY$
  166. 2400 LSET CITY$=INCITY$: GOTO 2500
  167. 2410 INPUT "Zip   (Enter 3 digit value)     ";INZIP
  168. 2420 LSET ZIP$=MKI$(INZIP): GOTO 2500
  169. 2430 INPUT "Birthday (MMDDYY)";INBIRTHDAY$: LSET BIRTHDAY$=INBIRTHDAY$:GOTO 2500
  170. 2440 INPUT "Phone number  ";INPHONE$
  171. 2450 LSET PHONE$=INPHONE$: GOTO 2500
  172. 2460 INPUT "Parents name  ";INPARENT$
  173. 2470 LSET PARENT$=INPARENT$: GOTO 2500
  174. 2480 PRINT TEXT$
  175. 2490 INPUT "Text      ";INTEXT$: LSET TEXT$=INTEXT$
  176. 2500 PRINT
  177. 2510 PRINT "Another change?(y/n)"
  178. 2520 NQ$ = INKEY$: IF NQ$="" GOTO 2520
  179. 2530 IF NQ$="y" GOTO 2190
  180. 2540 IF NQ$="n" THEN GOTO 2570
  181. 2550 PRINT: PRINT "Did we make a mistake? Let's try again."
  182. 2560 GOTO 2520
  183. 2570 PUT 1,SS
  184. 2580 GOTO 1870
  185. 2590 PRINT:PRINT "You selected the erase option."
  186. 2600 PRINT "Do you wish to continue (y or n)?"
  187. 2610 E$=INKEY$:IF E$="" GOTO 2610
  188. 2620 IF E$="y" THEN GOTO 2630 ELSE GOTO 1040
  189. 2630 TT=SS+1
  190. 2640 GET 1,TT
  191. 2650 PUT 1,SS
  192. 2660 IF CHILD$="~~~~~~~~~~~~~~~~~~~~~~~~" THEN GOTO 1040
  193. 2670 SS=SS+1
  194. 2680 GOTO 2630
  195. 2690 ON ERROR GOTO 2760
  196. 2700 CLS
  197. 2710 PRINT "You chose the option to print labels."
  198. 2720 PRINT "Please align labels in printer."
  199. 2730 PRINT "Press the enter key whe you are ready."
  200. 2740 INPUT "To cancel, enter `quit'";N$
  201. 2750 IF N$ = "quit" GOTO 1040
  202. 2760 IF ERR = 24 THEN RESUME
  203. 2770 T=3
  204. 2780 L=6
  205. 2790 LPRINT CHR$(27)"E"
  206. 2800 LPRINT CHR$(27)"C";CHR$(L)
  207. 2810 FOR SS=1 TO 100
  208. 2820 GET 1,SS
  209. 2830 IF CHILD$="~~~~~~~~~~~~~~~~~~~~~~~~" GOTO 1040
  210. 2840 IF DEL$="x" THEN GOTO 3000
  211. 2850 LPRINT TAB(T);CHILD$
  212. 2860 LPRINT TAB(T);ADDRESS$
  213. 2870 FOR V=1 TO 13
  214. 2880 IF MID$(CITY$,V,2) = "  " GOTO 2900
  215. 2890 NEXT V
  216. 2900 V=V-1
  217. 2910 CITYCOND$=LEFT$(CITY$,V)
  218. 2920 LPRINT TAB(T);CITYCOND$;", Kansas"
  219. 2930 ZIP=CVI(ZIP$)
  220. 2940 ZIPPY$=STR$(ZIP)
  221. 2950 IF ZIP<10 THEN ZIPI$="6700" +MID$(ZIPPY$,2,3): GOTO 2980
  222. 2960 IF ZIP<100 THEN ZIPI$="670" +MID$(ZIPPY$,2,3): GOTO 2980
  223. 2970 ZIPI$="67"+MID$(ZIPPY$,2,3)
  224. 2980 LPRINT TAB(T);ZIPI$
  225. 2990 LPRINT CHR$(12)
  226. 3000 NEXT SS
  227. 3010 CLS
  228. 3020 PRINT "You chose option to print class roll."
  229. 3030 PRINT "Please align paper in printer."
  230. 3040 PRINT "Enter month desired when you are ready."
  231. 3050 INPUT "To cancel, enter `quit'";MONTH$
  232. 3060 IF MONTH$ = "quit" GOTO 1040
  233. 3070 CLS:PRINT "What is the the first Sunday in ";MONTH$;
  234. 3080 INPUT SUNDAY
  235. 3090 PRINT:PRINT "How many Sundays are in ";MONTH$;
  236. 3100 INPUT WEEKS$
  237. 3110 I=0
  238. 3120 SS=1
  239. 3130 LPRINT CHR$(27)"G"
  240. 3140 LPRINT CHR$(15);CHR$(14);TAB(22);"Class Enrollment Form":LPRINT CHR$(18)
  241. 3150 LPRINT:LPRINT "Department: 2 YEAR OLDS";TAB(50);"Month: ";MONTH$
  242. 3160 LPRINT
  243. 3170 LPRINT TAB(40);SUNDAY;
  244. 3180 LPRINT TAB(48);SUNDAY+7;
  245. 3190 LPRINT TAB(56);SUNDAY+14;
  246. 3200 LPRINT TAB(64);SUNDAY+21;
  247. 3210 IF WEEKS$="5" THEN LPRINT TAB(72);SUNDAY+28
  248. 3220 LPRINT
  249. 3230 I=I+1
  250. 3240 J=1
  251. 3250 GET 1,SS
  252. 3260 IF CHILD$="~~~~~~~~~~~~~~~~~~~~~~~~" GOTO 1040
  253. 3270 LPRINT CHR$(15);CHR$(14);SS;". ";CHILD$;
  254. 3280 IF DEL$= "x" THEN LPRINT "Inactive" ELSE LPRINT
  255. 3290 LPRINT CHR$(18);
  256. 3300 MO$=MID$(BIRTHDAY$,1,2)
  257. 3310 DY$=MID$(BIRTHDAY$,3,2)
  258. 3320 YR$=MID$(BIRTHDAY$,5,2)
  259. 3330 LPRINT ADDRESS$;MO$;"-";DY$;"-";YR$;TAB(40);"SS___";TAB(48);"SS___";TAB(56);"SS___";TAB(64);"SS___";
  260. 3340 IF WEEKS$ = "5" THEN LPRINT TAB(72);"SS___" ELSE LPRINT
  261. 3350 ZIP=CVI(ZIP$)
  262. 3360 ZIPPY$=STR$(ZIP)
  263. 3370 ZIPI$="67"+MID$(ZIPPY$,2,3)
  264. 3380 IF ZIP<10 THEN ZIPI$="6700" +MID$(ZIPPY$,2,3): GOTO 3400
  265. 3390 IF ZIP<100 THEN ZIPI$="670" +MID$(ZIPPY$,2,3): GOTO 3400
  266. 3400 LPRINT CITY$;"  ";ZIPI$;"       ";PHONE$;TAB(40);"C___";TAB(48);"C___";TAB(56);"C___";TAB(64);"C___";
  267. 3410 IF WEEKS$ = "5" THEN LPRINT TAB(72);"C___" ELSE LPRINT
  268. 3420 FOR V=1 TO 24
  269. 3430 IF MID$(PARENT$,V,2)="  " GOTO 3450
  270. 3440 NEXT V
  271. 3450 V=V-1
  272. 3460 CONDPARENT$=LEFT$(PARENT$,V)
  273. 3470 LPRINT CONDPARENT$;" / ";TEXT$
  274. 3480 SS=SS+1: J=J+1
  275. 3490 IF J<11 THEN LPRINT:GOTO 3250
  276. 3500 LPRINT:LPRINT:LPRINT TAB(33);"--";I;"--"
  277. 3510 LPRINT CHR$(12)
  278. 3520 GOTO 3140
  279. 3530 IF DEL$="x" THEN LSET DEL$=" " ELSE LSET DEL$ = "x"
  280. 3540 PUT 1,SS
  281. 3550 GOTO 1870
  282. 3560 CLOSE:STOP
  283. 12)
  284. 3520 GOTO 3140
  285. 3530 IF DEL$="x" THEN LSET DEL$=" " ELSE LSET DEL$ = "x"
  286. 3540 PUT 1,SS
  287. 3550 GO